<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:a4j="http://richfaces.org/a4j"
	xmlns:rich="http://richfaces.org/rich"
	xmlns:fn="http://java.sun.com/jsp/jstl/functions"
	>
	<h:form id="form">
		<rich:messages />
		<rich:dataTable value="#{carsBean.allInventoryItems}" var="car"
			id="table" rows="30">
			<f:facet name="noData">
				Nothing found
			</f:facet>
			<rich:column filterValue="#{carsFilteringBean.vendorFilter}"
				filterExpression="#{fn:containsIgnoreCase(car.vendor, carsFilteringBean.vendorFilter)}">
				<f:facet name="header">
					<h:panelGroup>
						<h:outputText value="Vendor " />
						<h:selectOneMenu value="#{carsFilteringBean.vendorFilter}">
							<f:selectItems value="#{carsBean.vendorOptions}" />
							<a4j:ajax render="table" execute="@this" event="change" />
						</h:selectOneMenu>
					</h:panelGroup>
				</f:facet>
				<h:outputText value="#{car.vendor}" />
			</rich:column>
			<rich:column>
				<f:facet name="header">
					<h:outputText value="Model" />
				</f:facet>
				<h:outputText value="#{car.model}" />
			</rich:column>
			<rich:column>
				<f:facet name="header">
					<h:outputText value="Price" />
				</f:facet>
				<h:outputText value="#{car.price}" />
			</rich:column>
			<rich:column filter="#{carsFilteringBean.mileageFilterImpl}">
				<f:facet name="header">
					<h:panelGroup>
						<h:outputText value="Mileage &lt; " />
						<h:inputText value="#{carsFilteringBean.mileageFilter}">
							<f:convertNumber groupingUsed="true" />
							<f:validateLongRange maximum="500000" />
							<a4j:ajax event="blur" render="form:table" execute="@this" />
						</h:inputText>
					</h:panelGroup>
				</f:facet>
				<h:outputText value="#{car.mileage}" />
			</rich:column>
			<rich:column filterValue="#{carsFilteringBean.vinFilter}"
				filterExpression="#{fn:containsIgnoreCase(car.vin,carsFilteringBean.vinFilter)}">
				<f:facet name="header">
					<h:panelGroup>
						<h:outputText value="VIN " />
						<h:inputText value="#{carsFilteringBean.vinFilter}">
							<a4j:ajax event="blur" render="table" execute="@this" />
						</h:inputText>
					</h:panelGroup>
				</f:facet>
				<h:outputText value="#{car.vin}" />
			</rich:column>
		</rich:dataTable>
	</h:form>
</ui:composition>